package cn.kgc.tangcco;

import org.junit.Test;

/**
 * @author 李昊哲
 * @Description
 * @date 2020/8/12 10:31
 */
public class Demo10 {
    @Test
    public void test01(){
        // & 代表并且（与） &前后两端的表达式返回结果都是true 则整体返回结果为true
        // &前后两端的表达式返回结果只要有一个是false   则整体返回结果为false
        // &前面的表达式返回结果为false后面的表达式任然需要判断
        System.out.println(true & true);
        System.out.println(true & false);
        System.out.println(false & true);
        System.out.println(false & false);
    }

    @Test
    public void test02(){
        // && 代表并且（短路） &&前后两端的表达式返回结果都是true 则整体返回结果为true
        // &&前后两端的表达式返回结果只要有一个是false   则整体返回结果为false
        // &&前面的表达式返回结果为false后面的表达式不再判断
        System.out.println(true && true);
        System.out.println(true && false);
        System.out.println(false && true);
        System.out.println(false && false);
    }

    @Test
    public void test03(){
        // | 代表或者（或） |前后两端的表达式返回结果只要有一个为true 则整体返回结果为true
        // | 前后两端的表达式返回结果都是false   则整体返回结果为false
        // | 前面的表达式返回结果为true后面的表达式需要判断
        System.out.println(true | true);
        System.out.println(true | false);
        System.out.println(false | true);
        System.out.println(false | false);
    }

    @Test
    public void test04(){
        // || 代表或者（短路或） |前后两端的表达式返回结果只要有一个为true 则整体返回结果为true
        // || 前后两端的表达式返回结果都是false   则整体返回结果为false
        // || 前面的表达式返回结果为true后面的表达式不需要判断
        System.out.println(true || true);
        System.out.println(true || false);
        System.out.println(false || true);
        System.out.println(false || false);
    }

    @Test
    public void test05(){
        // ! 取反
        System.out.println(!true);
        System.out.println(!!true);
        System.out.println(!!!true);

    }
}
